引入所需模組與必要的資料集
知道模組用途與如何撰寫
from sklearn.preprocessing import LabelEncoder
LabelEncoder是用來對分類型特徵值進行編碼,即對不連續的數值或文本進行編碼
OneHotEncoder則是將文字特徵轉換為數值,方便計算
from sklearn.feature_selection import RFECV
全名是Recursive Feature Elimination with Cross-Validation
交叉驗證Cross-Validation可以幫助我們避免訓練時造成過擬合(overfitting)現象
而這個方法使用交叉驗證自動選擇有最好準確率的訓練特徵數目
from sklearn.model_selection import cross_val_score, StratifiedKFold, learning_curve, train_test_split
cross_val_score:就是上面的Cross-Validation,方便選擇好的特徵
StratifiedKFold:使用這個方法切分訓練集,避免過擬合,也可以用GridSearchCV直接找到最佳參數
learning_curve:特徵曲線,判斷模型是否過擬合了
train_test_split:將合併的資料處理完後重新切成測試與訓練集
from sklearn.ensemble import RandomForestClassifier
含有多棵決策樹的分類方法,結果由眾數決定
display_side_by_side
做特徵工程顯示資料時用到
warnings.filterwarnings('ignore')
不顯示警告資訊
%matplotlib inline
讓繪出的圖能正常顯示
sns.set(font_scale=1.56)
設定seabon字體顯示大小
pd.read_csv
pandas讀取kaggle下載的訓練與測試資料集
訓練資料集含有特徵欄位與預測標籤
測試資料集只含有特徵欄位
在資料處理部分我們通常會合併這兩個資料集為df_data做前處理
https://blog.csdn.net/quintind/article/details/79850455
https://machine-learning-python.kspax.io/intro-1/ex3_rfe_crossvalidation__md
https://github.com/justmarkham/scikit-learn-videos/blob/master/07_cross_validation.ipynb
https://stats.stackexchange.com/questions/207888/gridsearchcv-and-kfold
https://scikit-learn.org/stable/auto_examples/svm/plot_rbf_parameters.html